package com.steleot.jetpackcompose.playground.compose.materialiconsextended

import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.lazy.grid.GridCells
import androidx.compose.foundation.lazy.grid.LazyVerticalGrid
import androidx.compose.foundation.lazy.grid.items
//noinspection UsingMaterialAndMaterial3Libraries
import androidx.compose.material.Icon
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.automirrored.rounded.*
import androidx.compose.material.icons.rounded.*
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.steleot.jetpackcompose.playground.navigation.graph.MaterialIconsExtendedNavRoutes
import com.steleot.jetpackcompose.playground.ui.base.material.DefaultScaffold

private const val URL = "materialiconsextended/ExtendedRoundedScreen.kt"

@Composable
fun ExtendedRoundedScreen() {
    DefaultScaffold(
        title = MaterialIconsExtendedNavRoutes.ExtendedRounded,
        link = URL,
    ) {
        ExtendedRoundedGrid(paddingValues = it)
    }
}

private val list = listOf(
    Icons.Rounded._3dRotation,
    Icons.Rounded._4k,
    Icons.Rounded._5g,
    Icons.Rounded._6FtApart,
    Icons.AutoMirrored.Rounded._360,
    Icons.Rounded.AccessAlarm,
    Icons.Rounded.AccessAlarms,
    Icons.Rounded.Accessibility,
    Icons.Rounded.AccessibilityNew,
    Icons.AutoMirrored.Rounded.AccessibleForward,
    Icons.AutoMirrored.Rounded.Accessible,
    Icons.Rounded.AccessTime,
    Icons.Rounded.AccountBalance,
    Icons.Rounded.AccountBalanceWallet,
    Icons.Rounded.AccountTree,
    Icons.Rounded.AcUnit,
    Icons.Rounded.Adb,
    Icons.Rounded.AddAlarm,
    Icons.Rounded.AddAlert,
    Icons.Rounded.AddAPhoto,
    Icons.Rounded.AddBox,
    Icons.Rounded.AddBusiness,
    Icons.Rounded.Addchart,
    Icons.Rounded.AddCircleOutline,
    Icons.Rounded.AddComment,
    Icons.Rounded.AddIcCall,
    Icons.Rounded.AddLocation,
    Icons.Rounded.AddLocationAlt,
    Icons.Rounded.AddPhotoAlternate,
    Icons.Rounded.AddRoad,
    Icons.Rounded.AddShoppingCart,
    Icons.Rounded.AddTask,
    Icons.AutoMirrored.Rounded.AddToHomeScreen,
    Icons.Rounded.AddToPhotos,
    Icons.Rounded.AddToQueue,
    Icons.Rounded.Adjust,
    Icons.Rounded.AdminPanelSettings,
    Icons.Rounded.AdUnits,
    Icons.Rounded.Agriculture,
    Icons.Rounded.AirlineSeatFlatAngled,
    Icons.Rounded.AirlineSeatFlat,
    Icons.Rounded.AirlineSeatIndividualSuite,
    Icons.Rounded.AirlineSeatLegroomExtra,
    Icons.Rounded.AirlineSeatLegroomNormal,
    Icons.Rounded.AirlineSeatLegroomReduced,
    Icons.Rounded.AirlineSeatReclineExtra,
    Icons.Rounded.AirlineSeatReclineNormal,
    Icons.Rounded.AirplanemodeActive,
    Icons.Rounded.AirplanemodeInactive,
    Icons.Rounded.Airplay,
    Icons.Rounded.AirportShuttle,
    Icons.Rounded.AlarmAdd,
    Icons.Rounded.Alarm,
    Icons.Rounded.AlarmOff,
    Icons.Rounded.AlarmOn,
    Icons.Rounded.Album,
    Icons.Rounded.AlignHorizontalCenter,
    Icons.AutoMirrored.Rounded.AlignHorizontalLeft,
    Icons.AutoMirrored.Rounded.AlignHorizontalRight,
    Icons.Rounded.AlignVerticalBottom,
    Icons.Rounded.AlignVerticalCenter,
    Icons.Rounded.AlignVerticalTop,
    Icons.Rounded.AllInbox,
    Icons.Rounded.AllInclusive,
    Icons.AutoMirrored.Rounded.AltRoute,
    Icons.Rounded.AmpStories,
    Icons.Rounded.Analytics,
    Icons.Rounded.Anchor,
    Icons.Rounded.Android,
    Icons.AutoMirrored.Rounded.Announcement,
    Icons.Rounded.Apartment,
    Icons.Rounded.Api,
    Icons.Rounded.AppBlocking,
    Icons.Rounded.AppSettingsAlt,
    Icons.Rounded.Apps,
    Icons.Rounded.Architecture,
    Icons.Rounded.Archive,
    Icons.AutoMirrored.Rounded.ArrowBackIos,
    Icons.Rounded.ArrowCircleDown,
    Icons.Rounded.ArrowCircleUp,
    Icons.Rounded.ArrowDownward,
    Icons.Rounded.ArrowDropDownCircle,
    Icons.Rounded.ArrowDropUp,
    Icons.AutoMirrored.Rounded.ArrowForwardIos,
    Icons.AutoMirrored.Rounded.ArrowLeft,
    Icons.AutoMirrored.Rounded.ArrowRightAlt,
    Icons.AutoMirrored.Rounded.ArrowRight,
    Icons.Rounded.ArrowUpward,
    Icons.AutoMirrored.Rounded.Article,
    Icons.Rounded.ArtTrack,
    Icons.Rounded.AspectRatio,
    Icons.Rounded.Assessment,
    Icons.Rounded.AssignmentInd,
    Icons.AutoMirrored.Rounded.Assignment,
    Icons.Rounded.AssignmentLate,
    Icons.Rounded.AssignmentReturned,
    Icons.AutoMirrored.Rounded.AssignmentReturn,
    Icons.Rounded.AssignmentTurnedIn,
    Icons.Rounded.Assistant,
    Icons.Rounded.AssistantPhoto,
    Icons.Rounded.Atm,
    Icons.Rounded.AttachEmail,
    Icons.Rounded.AttachFile,
    Icons.Rounded.Attachment,
    Icons.Rounded.AttachMoney,
    Icons.Rounded.Audiotrack,
    Icons.Rounded.AutoDelete,
    Icons.Rounded.Autorenew,
    Icons.Rounded.AvTimer,
    Icons.Rounded.BabyChangingStation,
    Icons.Rounded.Backpack,
    Icons.AutoMirrored.Rounded.Backspace,
    Icons.Rounded.Backup,
    Icons.Rounded.BackupTable,
    Icons.Rounded.Badge,
    Icons.Rounded.BakeryDining,
    Icons.Rounded.Balcony,
    Icons.Rounded.Ballot,
    Icons.Rounded.BarChart,
    Icons.Rounded.BatchPrediction,
    Icons.Rounded.Bathroom,
    Icons.Rounded.Bathtub,
    Icons.Rounded.BatteryAlert,
    Icons.Rounded.BatteryChargingFull,
    Icons.Rounded.BatteryFull,
    Icons.Rounded.BatterySaver,
    Icons.Rounded.BatteryStd,
    Icons.AutoMirrored.Rounded.BatteryUnknown,
    Icons.Rounded.BeachAccess,
    Icons.Rounded.Bed,
    Icons.Rounded.BedroomBaby,
    Icons.Rounded.BedroomChild,
    Icons.Rounded.BedroomParent,
    Icons.Rounded.Bedtime,
    Icons.Rounded.Beenhere,
    Icons.Rounded.Bento,
    Icons.Rounded.BikeScooter,
    Icons.Rounded.Biotech,
    Icons.Rounded.Blender,
    Icons.Rounded.Block,
    Icons.Rounded.Bloodtype,
    Icons.Rounded.BluetoothAudio,
    Icons.Rounded.BluetoothConnected,
    Icons.Rounded.BluetoothDisabled,
    Icons.Rounded.BluetoothDrive,
    Icons.Rounded.Bluetooth,
    Icons.AutoMirrored.Rounded.BluetoothSearching,
    Icons.Rounded.BlurCircular,
    Icons.Rounded.BlurLinear,
    Icons.Rounded.BlurOff,
    Icons.Rounded.BlurOn,
    Icons.Rounded.Bolt,
    Icons.Rounded.Book,
    Icons.Rounded.BookmarkAdded,
    Icons.Rounded.BookmarkAdd,
    Icons.Rounded.BookmarkBorder,
    Icons.Rounded.Bookmark,
    Icons.Rounded.BookmarkRemove,
    Icons.Rounded.Bookmarks,
    Icons.Rounded.BookOnline,
    Icons.Rounded.BorderAll,
    Icons.Rounded.BorderBottom,
    Icons.Rounded.BorderClear,
    Icons.Rounded.BorderColor,
    Icons.Rounded.BorderHorizontal,
    Icons.Rounded.BorderInner,
    Icons.Rounded.BorderLeft,
    Icons.Rounded.BorderOuter,
    Icons.Rounded.BorderRight,
    Icons.Rounded.BorderStyle,
    Icons.Rounded.BorderTop,
    Icons.Rounded.BorderVertical,
    Icons.AutoMirrored.Rounded.BrandingWatermark,
    Icons.Rounded.BreakfastDining,
    Icons.Rounded.Brightness1,
    Icons.Rounded.Brightness2,
    Icons.Rounded.Brightness3,
    Icons.Rounded.Brightness4,
    Icons.Rounded.Brightness5,
    Icons.Rounded.Brightness6,
    Icons.Rounded.Brightness7,
    Icons.Rounded.BrightnessAuto,
    Icons.Rounded.BrightnessHigh,
    Icons.Rounded.BrightnessLow,
    Icons.Rounded.BrightnessMedium,
    Icons.Rounded.BrokenImage,
    Icons.Rounded.BrowserNotSupported,
    Icons.Rounded.BrunchDining,
    Icons.Rounded.Brush,
    Icons.Rounded.BubbleChart,
    Icons.Rounded.BugReport,
    Icons.Rounded.BuildCircle,
    Icons.Rounded.Bungalow,
    Icons.Rounded.BurstMode,
    Icons.Rounded.BusAlert,
    Icons.Rounded.BusinessCenter,
    Icons.Rounded.Business,
    Icons.Rounded.Cabin,
    Icons.Rounded.Cable,
    Icons.Rounded.Cached,
    Icons.Rounded.Cake,
    Icons.Rounded.Calculate,
    Icons.Rounded.CalendarToday,
    Icons.Rounded.CalendarViewDay,
    Icons.Rounded.CalendarViewMonth,
    Icons.Rounded.CalendarViewWeek,
    Icons.Rounded.CallEnd,
    Icons.AutoMirrored.Rounded.CallMade,
    Icons.AutoMirrored.Rounded.CallMerge,
    Icons.AutoMirrored.Rounded.CallMissed,
    Icons.AutoMirrored.Rounded.CallMissedOutgoing,
    Icons.AutoMirrored.Rounded.CallReceived,
    Icons.AutoMirrored.Rounded.CallSplit,
    Icons.Rounded.CallToAction,
    Icons.Rounded.CameraAlt,
    Icons.Rounded.CameraEnhance,
    Icons.Rounded.CameraFront,
    Icons.Rounded.CameraIndoor,
    Icons.Rounded.Camera,
    Icons.Rounded.CameraOutdoor,
    Icons.Rounded.CameraRear,
    Icons.Rounded.CameraRoll,
)

@Preview
@Composable
private fun ExtendedRoundedGrid(paddingValues: PaddingValues = PaddingValues()) {
    LazyVerticalGrid(
        GridCells.Adaptive(60.dp),
        modifier = Modifier.padding(paddingValues = paddingValues),
    ) {
        items(list) {
            Icon(imageVector = it, contentDescription = null, modifier = Modifier.padding(8.dp))
        }
    }
}
